home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / demo / mag / amoner06.dms / amoner06.adf / Starfield.Amos / Starfield.amosSourceCode < prev   
AMOS Source Code  |  1992-02-23  |  2KB  |  82 lines

  1. Centre "Press A key to terminate startfield!"
  2. Wait 100
  3. 'this program was created by Ryan Scott of PLAYFIELD!
  4. 'PLAYFIELD! is the Journal of Creative AMOS Programming
  5. 'for more information and sample issue, send $1 or long SASE to
  6. '5180 NE 6th Avenue #624 Ft Lauderdale FL 33334
  7. NUMOFSTARS=60
  8. Fade 4
  9. Dim C(10)
  10. Cls 0
  11.       'get bobs
  12.       Get Bob 10,0,0 To 1,1 : Rem bob 10 is a blank! 
  13.       Ink 1,0
  14.       Plot 0,0
  15.       Get Bob 1,0,0 To 1,1
  16.       Plot 1,0
  17.       Get Bob 2,0,0 To 2,1
  18.       Plot 0,0,2 : Plot 1,0,0
  19.       Get Bob 3,0,0 To 1,1
  20.       Plot 1,0,2
  21.       Get Bob 4,0,0 To 2,1
  22. BIGX=640
  23. BIGY=311*2
  24. If Ntsc Then BIGY=263*2
  25. Screen Open 0,640,BIGY,4,Hires+Laced
  26. Double Buffer 
  27. Hide 
  28. Curs Off : Cls 0 : Flash Off : Autoback 0 : Bob Update Off 
  29. SMALLX=BIGX/14 : SMALLY=BIGY/14
  30. SMALLPOSX=BIGX/2-SMALLX/2 : SMALLPOSY=BIGY/2-SMALLY/2 : Rem center it
  31. Clear Key 
  32. Synchro Off 
  33. For T=1 To 50
  34.    Bob T,0,0,10
  35.    Channel T To Bob T
  36.    A$="M "+Str$(Rnd(150))-" "+","+Str$(Rnd(150))-" "+","+Str$(Rnd(150))-" "
  37.    Amal T,A$
  38.    Amal On T
  39. Next T
  40. Repeat 
  41.    '
  42.    Add BB,1,1 To NUMOFSTARS
  43.    If BB=NUMOFSTARS
  44.       Add CCOUNT,1,0 To 1
  45.       If CCOUNT=0
  46.          C(3)=Rnd($FFF)
  47.          Repeat 
  48.             R=Rnd($F) : G=Rnd($F) : B=Rnd($F)
  49.          Until(R>$A) or(G>$A) or(B>$A)
  50.          For T=3 To 1 Step -1
  51.             C(T)=R*$100+G*$10+B
  52.             R=(R*5)/6 : G=(G*5)/6 : B=(B*5)/6
  53.          Next T
  54.          Fade 10,,C(1),C(2),C(3)
  55.       End If 
  56.    End If 
  57.    If Chanmv(BB)=False
  58.       Repeat 
  59.          X=Rnd(SMALLX)
  60.          Y=Rnd(SMALLY)
  61.       Until(X<10 or X>SMALLX-10) or(Y<10 or Y>SMALLY-10)
  62.       X2=(X*BIGX)/SMALLX
  63.       Y2=(Y*BIGY)/SMALLY
  64.       SMALLPOSX=X Screen(X Mouse)-SMALLX/2
  65.       SMALLPOSY=Y Screen(Y Mouse)-SMALLY/2
  66.       Add X,SMALLPOSX
  67.       Add Y,SMALLPOSY
  68.       RRUN=X2-X : RISE=Y2-Y
  69.       Channel BB To Bob BB
  70.       Amreg(0)=RRUN : Amreg(1)=RISE
  71.       Bob BB,X,Y,1
  72.       Amreg(2)=40
  73.       Amal BB,"A 1,(1,10)(2,10)(3,10)(4,10)(10,1); M RA,RB,RC"
  74.       Amal On BB
  75.    End If 
  76.    Synchro 
  77.    Bob Draw : Screen Swap : Wait Vbl : Bob Clear 
  78.    '
  79. Until Inkey$<>""
  80. Wait 50
  81. Default 
  82. Run "amoner006:autoexec.amos"